//package a2025_02_09;
//
//import java.util.HashMap;
//
//class Solution {
//    public int findMaxLength(int[] nums) {
//        //将0变成-1，寻找和为0的最长子数组
//        //寻找和为0的最长子数组
//        int n=nums.length;
//        HashMap<Integer,Integer> hash=new HashMap<>();
//        hash.put(0,-1);//确保整个数组之和为0的情况能够符合
//        int i=0;
//        int sum=0;
//        int maxLen=0;
//        while(i<n){
//            sum+=(nums[i]==1?1:-1);
//            if(hash.get(sum)==null) hash.put(sum,i);
//            else{
//                int j=hash.get(sum);
//                maxLen=(maxLen==0?i-j:(maxLen>i-j?maxLen:i-j));
//            }
//            i++;
//        }
//        return maxLen;
//    }
//}
